home *** CD-ROM | disk | FTP | other *** search
-
- /* Generated by Interface Builder */
-
- #import "BattleZoneView.h"
-
- void RunBattleEntry(DPSTimedEntry te, double timeNow, void *data)
- {
- /* we set data to self so we can call this method from the timed entry */
- [(BattleZoneView *)data display];
- }
-
- void DisplayBattleFrame(float width,float height,float *Lines);
-
- @implementation BattleZoneView
-
- - drawSelf:(const NXRect *)rects :(int)rectCount
- {
- int count;
- float myLines[5];
-
- if(step == -1)
- {
- PSsetgray(0.0);
- NXRectFill(&bounds);
- step = 0;
- }
-
- for(count = 0; count < 5; count++)
- myLines[count] = Lines[(count*10)+step];
-
- myLines[0] = Lines[0];
-
- step++;
- if(step == 10)
- step = 0;
-
- DisplayBattleFrame(bounds.size.width,bounds.size.height,myLines);
-
- return self;
- }
-
- - startAnimation
- {
- myTimedEntry =
- DPSAddTimedEntry((float)0.02,
- &RunBattleEntry,self,NX_BASETHRESHOLD);
-
- return self;
- }
-
- - endAnimation
- {
- DPSRemoveTimedEntry(myTimedEntry);
-
- return self;
- }
-
- - initFrame:(const NXRect *)frameRect
- {
- int count;
- float totalSize = 0.0,Delta = 1.0,sofa = 0.0;
-
- #define height frameRect->size.height
-
- [super initFrame :frameRect];
-
- step = -1;
-
- for(count = 0; count < 50; count++)
- {
- totalSize += Delta;
- Delta *= 1.075;
- }
-
- Delta = 1.0;
-
- for(count = 0; count < 50; count++)
- {
- sofa += Delta;
- Delta *= 1.075;
-
- Lines[count] = height-((sofa*height)/totalSize);
- }
-
- return self;
- }
-
- @end
-